In a modern telecommunications network, a considerable amount of processing must be performed in order to deliver and otherwise support a call between a calling (origination) party and a called (termination) party. Information relating to a call may be formatted according to any one of a number of call models (e.g, MCI, CS1, or Advanced Intelligent Network (AIN)) and received over lines operating under any one of a number of call protocols (e.g., Inband, Integrated Services Digital Network (ISDN), or Signaling System No. 7 (SS7)). Each call model is unique so that the processing that is performed pursuant to one call model differs from that which is performed pursuant to any other call model. Similarly, each call protocol is unique so that processing varies from one protocol to another.
In previous systems and techniques for performing call processing, a separate software routine was provided for each combination of call model and call protocol. For example, in a typical prior system, one software routine was provided for Inband call protocol and MCI call model, another routine was provided for Inband call protocol and CS1 call model, and yet another software routine was provided for Inband call protocol and AIN call model. Furthermore, another software routine would be provided for ISDN call protocol and MCI call model, yet another for ISDN call protocol and CS1 model, and still another for ISDN call protocol and AIN call model. Yet another three software routine would be provided to support the combination of SS7 protocol with each of the MCI, CS1 and AIN call models. As such, a large amount of redundancy was present in previous systems and techniques. This redundancy consumed valuable resources, such as memory and processing facilities. Furthermore, maintenance for previous systems was complicated by the redundancy. More specifically, in order to modify these systems to incorporate updates to a particular call model or call protocol, each separate routine that was provided for such call protocol or call model had to be changed separately.
Also, previous systems and techniques were unable to originate a call according to one call model/call protocol combination and terminate the same call according to another call model/call protocol combination. For example, a call originating under an MCI call model and ISDN call protocol could not be terminated under a CS1 call model and ISDN call protocol. Thus, prior systems and techniques were limited in application.
Furthermore, in previous telecommunications networks, various elements were dedicated to processing information for calls received over specific group of lines or trunks. For example, a first element would perform processing for calls received over lines 1-1,000, a second element would perform processing for calls received over lines 1,001-2,000, a third element would perform processing for calls received over lines 2,001-3,000, etc. Call information for a particular call could only be handled at the element servicing the line over which the call was received. Thus, if a particular element had an inordinate amount of traffic thereon, other hardware elements were not able to take up some of the processing load.